home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / nyane2ar.plp < prev    next >
Text File  |  1993-11-30  |  9KB  |  416 lines

  1. /**********   送信文書用の作成をする  v1.04a用  **********/
  2.  
  3. %foot    {};
  4.  
  5. var Seikei[30];
  6. var seikei[3];
  7. var Place[3];
  8. var place[7];
  9. var Center[1];
  10. var center[6];
  11. var Centernm[2];
  12. var Left[1];
  13. var left[6];
  14. var Right[1];
  15. var right[7];
  16. var Kinsoku[1];
  17. var kinsoku[7];
  18. var Inyou[1];
  19. var inyou[3];
  20. var Chikan[210];
  21. var chikan[210];
  22. var Def[1];
  23. var def[9];
  24.  
  25. %txf    {txf};
  26.  
  27. %foo    tmpdir|{\_foo.dat};
  28. %bar    tmpdir|{\_bar.dat};
  29.  
  30. %delmemo{
  31.     case(@mcheck,0,{mopen(1); }); mclose(3);
  32. };
  33.  
  34. %ok{
  35.     select({ 操作(清書or置換)は行われておりません},5,,{ OK? });
  36. };
  37.  
  38. %Getnum{[LINE]
  39.     getchar(@getline(a,LINE,1),2,1);
  40. };
  41.  
  42. %Getnum2{[LINE]
  43.     getchar(@getline(a,@noline(a)-LINE,1),2,1);
  44. };
  45.  
  46. %Getline{[LINE]
  47.     head(@getline(a,LINE,1),{\n});
  48. };
  49.  
  50. %Getline2{[LINE]
  51.     body(@getline(a,LINE,1),,{\n});
  52. };
  53.  
  54. %deltmp{
  55.     delfile(foo);
  56.     delfile(bar);
  57. };
  58.  
  59. %end{ deltmp; im({No})};
  60.  
  61. %writememo{
  62.     deltmp;
  63.     check(1);
  64.     mclose(1);
  65.     mwrite(objpath|{\}|objfile,1);
  66.     footnote({});
  67.     im({No});
  68. };
  69.  
  70. %renew{
  71.     case(@nolmemo(1)<>0,
  72.     {Yes},{
  73.         case(flag={OLD},
  74.         {Yes},{
  75.             writememo;
  76.         },{No},{
  77.             case(objfile<>{},
  78.             {Yes},{
  79.                 writememo;
  80.             },{No},{
  81.                 footnote({ ファイル名を入力してください});
  82.                 objfile:=@filesel;
  83.                 objpath:=@getcdir2;
  84.                 case(objfile<>{},
  85.                 {Yes},{
  86.                     footnote({});
  87.                     writememo;
  88.                 },{No},{
  89.                     button;
  90.                     im({Yes});
  91.                 });
  92.             });
  93.         });
  94.     },{No},{footnote({}); deltmp; im({No});
  95.     });
  96. };
  97.  
  98. %junk{
  99.     case(@nolmemo(1)<>0,
  100.     {Yes},{
  101.         case(@YesNo({ 文章を保存せず終了ます}),
  102.             {Yes},{    footnote({}); deltmp; im({No});
  103.             },{No},{button; im({Yes});
  104.         });
  105.     },{No},{footnote({}); deltmp; im({No});
  106.     });
  107. };
  108.  
  109. %SetTDoc2{
  110.     var Title2[60];
  111.     Title2:=Title;
  112.     loop({
  113.         Title2:=@input({ 題名を入れてください},,Title2);
  114.         case(@nochar(Title2)>40,
  115.         {Yes},{ footnote({ 題名は, 全角20文字までです});
  116.             im({Yes});
  117.         },{No},{im({No});
  118.         });
  119.     });
  120.     case(Title2<>{},{Yes},{Title:=Title2});
  121.     button;
  122.     im({Yes});
  123. };
  124.  
  125. %change{[MEMO]
  126.     var moto[80];
  127.     var ato[80];
  128.  
  129.     case(@nolmemo(MEMO)<>0,{Yes},{
  130.         moto:=@input({ 現文字列を入力してください});
  131.         case(moto<>{},{Yes},{
  132.             ato:=@input({ 新文字列を入力してください});
  133.             case(@mcheck<>0,{Yes},{mclose(1)});
  134.             mwrite(foo,MEMO);
  135.             footnote({ ただいま変換中です});
  136.             command(txf|{ -i }|foo|{ -o }|bar|{ -n -e }|
  137.                 moto|{ }|ato);
  138.             case(@filechk(bar),
  139.             {Yes},{    mclear(MEMO);
  140.                 mread(bar,MEMO);
  141.                 delfile(bar);
  142.             },{No},{
  143.                 select({ TXFが用意されていません},1);
  144.             });
  145.             button;
  146.             mopen(MEMO);
  147.         });
  148.     });
  149.     im({Yes});
  150. };
  151.  
  152. %addfoot{[MEMO]
  153.     OutAllMemo;
  154.     madd(MEMO,foot);
  155.     mopen(MEMO);
  156.     im({Yes});
  157. };
  158.  
  159. %callfile{[MEMO]
  160.     case( @filechk(foo),
  161.     {Yes},{
  162.         select({ 文書を操作(清書or置換)前の状態に戻します},
  163.             999,{im({No});
  164.         },{  O K  },{
  165.             case(@mcheck<>0,{Yes},{mclose(1)});
  166.             mclear(MEMO);
  167.             mread(foo,MEMO);
  168.             delfile(bar);
  169.             mopen(MEMO);
  170.         },{  N G  },{
  171.         });
  172.     },{No},{ok;
  173.     });
  174.     im({Yes});
  175. };
  176.  
  177. %callorg{[MEMO]
  178.     case(@YesNo({ 原文を呼び出していいですか?}),{Yes},{
  179.         case(@mcheck<>0,{Yes},{mclose(1)});
  180.         mclear(MEMO);
  181.         mread(fname,MEMO);
  182.         mopen(MEMO);
  183.     });
  184.     im({Yes});
  185. };
  186.  
  187. %txtform{[MEMO]
  188.  
  189.     case(Seikei,{1},{seikei:={ -f}},{2},{seikei:={ -n}});
  190.     case(Place<>{},{Yes},{place:={ -l }|(Place)});
  191.     case(Center,{1},{center:={ -c }|Centernm},{2},{center:={}});
  192.     case(Left,{1},{left:={}},{2},{left:={ -ml 2}},
  193.         {3},{left:={ -ml 4}},{4},{left:={ -ml 6}});
  194.     case(Right,{1},{right:={}},{2},{right:={ -mr }|Place-2},
  195.         {3},{right:={ -mr }|Place-4},{4},{right:={ -mr }|Place-6});
  196.     case(Kinsoku,{1},{kinsoku:={}},{2},{kinsoku:={ -kl""}});
  197.     case(Inyou,{1},{inyou:={ -q}},{2},{inyou:={}});
  198.     case(Chikan<>{},{Yes},{chikan:={ }|Chikan});
  199.     case(Def,{1},{def:={ @arrange}},{2},{def:={}});
  200.  
  201.  
  202.     case(@nolmemo(MEMO)<>0,{Yes},{
  203.         case(@mcheck<>0,{Yes},{mclose(1)});
  204.         mwrite(foo,MEMO);
  205.         footnote({ ただいま変換中です});
  206.         command(txf|{ -a -i }|foo|{ -o }|bar|def|kinsoku|place|
  207.             center|left|right|inyou|seikei|{ -r }|chikan);
  208.         case(@filechk(bar),
  209.         {Yes},{    mclear(MEMO);
  210.             mread(bar,MEMO);
  211.             delfile(bar);
  212.         },{No},{
  213.             select({ TXFが用意されていません},1,);
  214.         });
  215.         button;
  216.         mopen(MEMO);
  217.     });
  218.     im({Yes});
  219. };
  220.  
  221. %config{
  222.     %putdata{
  223.         %wm @mlast+1;
  224.         %putplp2{[HEAD,DATA]
  225.             madd(wm,HEAD|{:=}|@xc({7b})|DATA|@xc({7d})|{;\n});
  226.         };
  227.  
  228.         loop({ 
  229.             case(@mcheck<>0,
  230.             {Yes},{mclose(1); im({Yes});
  231.             },{No},{ im({No});
  232.             });
  233.         });
  234.  
  235.         putplp2({Seikei},Seikei);
  236.         putplp2({Place},Place);
  237.         putplp2({Center},Center);
  238.         putplp2({Centernm},Centernm);
  239.         putplp2({Left},Left);
  240.         putplp2({Right},Right);
  241.         putplp2({Kinsoku},Kinsoku);
  242.         putplp2({Inyou},Inyou);
  243.         putplp2({Chikan},Chikan);
  244.         putplp2({Def},Def);
  245.  
  246.         setcdir2(current);
  247.         mwrite({ARRNGSET.PLP},wm);
  248.         mopen(wm,0,21,639,459);
  249.         mclose(3);
  250.     };
  251.  
  252.     %Data{
  253.         Seikei:=@Getnum(2);
  254.         Place:=@Getline(3);
  255.         Center:=@Getnum(4);
  256.         Centernm:=@Getline(5);
  257.         Left:=@Getnum(6);
  258.         Right:=@Getnum(7);
  259.         Kinsoku:=@Getnum(8);
  260.         Inyou:=@Getnum(9);
  261.         Chikan:=@Getline2(10);
  262.         Def:=@Getnum2(2);
  263.     };
  264.  
  265.     %a    @plane(
  266.         {c  現在の設定は以下のとおりです\n}|
  267.         {c\n}|
  268.         {s   設定の処理      /  保 存  /  呼 出  \n}|
  269.         {r   文書整形       /する /しない\n}|
  270.         {t     最大桁数        /xxx\n}|
  271.         {r   センタリング  /する /しない\n}|
  272.         {t   センタリング桁数   /xx\n}|
  273.         {r   左空白(全角)    /0 /1 /2 /3\n}|
  274.         {r   右空白(全角)    /0 /1 /2 /3\n}|
  275.         {r   禁足処理        /する  /しない\n}|
  276.         {r   引用符処理      /する  /しない\n}|
  277.         {t     置換            /\n}|
  278.         {r   定義ファイル    /使う  /使わない\n}|
  279.         {c\n}|
  280.         {s    /    終 了    \n},
  281.         Seikei,Place,Center,Centernm,Left,Right,Kinsoku,Inyou,
  282.             Chikan,Def,
  283.     );
  284.  
  285.     case(@Getnum(1),
  286.         {1},{case(@YesNo({ 設定ファイルに保存していいですか?}),
  287.             {Yes},{Data; putdata})},
  288.         {2},{case(@YesNo({ 設定ファイルから呼出していいですか?}),
  289.             {Yes},{#ARRNGSET.PLP})}
  290.     );
  291.     case(@Getnum2(1),{1},{
  292.         Data;
  293.     });
  294.     im({Yes});
  295. };
  296.  
  297.  
  298. %NEW{
  299.     %button{
  300.         footnote({終了            題名置換        呼出    清書設定},{b});
  301.     };
  302.     %return{
  303.         check(2);
  304.         footnote({});
  305.         case(@nolmemo(2)<>0,{Yes},{
  306.             endtype :=@select({ このメッセージを送信予約しますか?}
  307.                 ,99999,{im({戻})},
  308.                 {送信予約する},            {im({予})},
  309.                 {送信予約しないが保存する},    {im({保})},
  310.                 {再度,編集に戻る},        {im({戻})},
  311.                 {保存しないで捨てる},        {im({捨})}
  312.                     );
  313.         },{No},{endtype:={捨};
  314.         });
  315.         im(endtype={戻});
  316.     };
  317.     button;
  318. /*    madd(2,foot);*/
  319.     mopen(2,0,21,639,459,{w});
  320.     loop({
  321.         waitx();
  322.         case(    @PFK(@xtype),
  323.               101,{ return;    button;
  324.             },105,{ SetTDoc2;
  325.             },106,{ change(2);
  326.             },107,{ addfoot(2);
  327.             },109,{ callfile(2);
  328.             },111,{ txtform(2);
  329.             },112,{ config;
  330.             },,{ im({Yes});
  331.         });
  332.     });
  333.     end;
  334. };
  335.  
  336. %OLD{
  337.     %button{
  338.         footnote({更新破棄            置換        呼出原文清書設定},{b});
  339.     };
  340.     button;
  341.     mopen(2,0,21,639,459,{w});
  342.     loop({
  343.         waitx();
  344.         case(    @PFK(@xtype),
  345.               101,{ endtype:={予};
  346.             },102,{ endtype:={捨};
  347.             },106,{ change(2);
  348.             },107,{ addfoot(2);
  349.             },109,{ callfile(2);
  350.             },110,{ callorg(2);
  351.             },111,{ txtform(2);
  352.             },112,{ config;
  353.             },,{ im({Yes});
  354.         });
  355.     });
  356.     end;
  357. };
  358.  
  359. %EDI{
  360.     var objfile[12];
  361.     var objpath[80];
  362.     var tarfile[12];
  363.     var flag[4];
  364.     %button{
  365.       case(flag={OLD},
  366.       {Yes},{
  367.           footnote({更新破棄            置換        呼出原文清書設定},{b});
  368.       },{No},{
  369.           footnote({終了破棄            置換        呼出    清書設定},{b});
  370.       });
  371.     };
  372.     allclear;
  373.     footnote({ 編集するファイルを選んでください (右クリックで新規作成)});
  374.     objfile:=@filesel;
  375.     objpath:=@getcdir2;
  376.     %fname    objpath|{\}|objfile;
  377.     case(objfile<>{} && @filechk(objfile),
  378.     {Yes},{mread(objfile,1); flag:={OLD};
  379.     },{No},{madd(1,{}); flag:={NEW};
  380.     });
  381.     setcdir2(current);
  382.     mopen(1,0,21,639,459,{w});
  383.     button;
  384.  
  385.     loop({
  386.         waitx();
  387.         case(    @PFK(@xtype),
  388.               101,{ renew;
  389.             },102,{ junk;
  390.             },106,{ change(1);
  391.             },109,{ callfile(1);
  392.             },110,{ case(flag,{OLD},{callorg(1)},,{im({Yes})});
  393.             },111,{ txtform(1);
  394.             },112,{ config;
  395.             },,{ im({Yes});
  396.         });
  397.     });
  398.     allclear;
  399. };
  400.  
  401.  
  402. setcdir2(current);
  403. case(@filechk({ARRNGSET.PLP}),{No},{
  404.     write(    {ARRNGSET.PLP},
  405.         {Seikei:={1};\n}|{Place:={76};\n}|{Center:={2};\n}|
  406.         {Centernm:={60};\n}|{Left:={1};\n}|{Right:={3};\n}|
  407.         {Kinsoku:={1};\n}|{Inyou:={1};\n}|
  408.         {Chikan:={-e 、  、 -e 。  。};\n}|{Def:={2};\n}
  409.     );
  410. });
  411. #ARRNGSET.PLP;
  412. dispoff({Yes});
  413. deltmp;
  414. case(@im(kind),{new},{NEW},{old},{OLD},{edi},{EDI});
  415. dispoff({No});
  416.